package com.maybach.workflow.core.service;

import com.maybach.workflow.common.api.WorkFlowContext;
import com.maybach.workflow.common.model.FlowTaskActorDO;

import java.util.List;

/**
 * Created by houenxun on 16/1/21.
 * 安全服务
 */
public interface SecurityService {
    /**
     * 是否有权限执行
     * @param context
     * @param taskActorDO
     * @return
     */
    boolean isPermitted(WorkFlowContext context, FlowTaskActorDO taskActorDO);

    /**
     * 是否有权限执行
     * @param context
     * @param taskActorDO
     * @return
     */
    boolean isPermitted(WorkFlowContext context, List<FlowTaskActorDO> taskActorDO);

    /**
     * 获取当前用户
     * @return
     */
    String getUserName();

    /**
     *
     * @return
     */
    Long getUserId();

    /**
     * 用户标签 如买家买家 也可以是部门
     * @return
     */
    String getUserLable();


}
